home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 2 / Gekikoh Dennoh Club Vol. 2 (Japan).7z / Gekikoh Dennoh Club Vol. 2 (Japan) (Track 01).bin / fsw / mcdrv / mcform.doc < prev    next >
Text File  |  1996-05-01  |  12KB  |  542 lines

  1.  
  2.     ───────────────────────────────
  3.  
  4.                   MCDRV
  5.  
  6.                Music Creative driver for X68000
  7.  
  8.               【 専用データフォーマットの解説 】
  9.  
  10.     ───────────────────────────────
  11.  
  12.                     written by CUL. (1995-02-06)
  13.  
  14.  
  15. ───────────────────────────────────────
  16.                 MDCヘッダ構造
  17. ───────────────────────────────────────
  18.  
  19.   MDC のヘッダは、基本的に 64 byte です。
  20.  
  21.   オフセット計算の元になるベースポインタは、ヘッダ先頭のアドレスです。オフセッ
  22. ト値が0の場合、未定義叉はデータエラーと見なします。
  23.  
  24. ofst    size    内容
  25. +00    4.b    'MDC'+$1a
  26. +04    1.b    $00    MDCバージョン    (整数桁)
  27. +05    1.b    $08         〃        (小数桁)
  28. +06    1.w    ヘッダのサイズ
  29. +08    1.l    ファイルサイズ
  30. +0c    1.l    データ属性
  31. +10    1.l    シーケンスデータへのオフセット
  32. +14    1.l    タイトル部分へのオフセット
  33. +18    1.l    OPM音色/マクロ定義部分へのオフセット
  34. +1c    1.l    ADPCMファイル情報へのオフセット
  35. +20    1.l    MIDIデータへのオフセット
  36. +24    1.l    演奏終了までの時間 (hw:分 lw:秒)
  37. +28    1.l    総合クロックカウント
  38. +2c    1.w    4分音符あたりのクロック数
  39. +2e    1.w    初期テンポ (省略時120)
  40. +未定    1.l    データ作者/作曲者/編曲者情報へのオフセット
  41. +未定    1.w    拍子
  42.  
  43.     +00    'MDC'+$1a
  44.             MCDRV用のデータである事を表わします。
  45.  
  46.     +04    $0005    整数桁,小数桁の MDC バージョンです。
  47.             この場合 v0.05 になります
  48.  
  49.     +08        ファイルサイズです
  50.  
  51.     +0c        データ属性をビットマップで指定します。(未使用)
  52.             1 で ON/yes 、0 で OFF/no です
  53.             b00    OPM 使用
  54.             b01    ADPCM 使用
  55.             b02    MIDI 使用
  56.             b03    PCM8 使用
  57.             b04    SE データ
  58.             b05~31    予約
  59.  
  60.     +10        シーケンスデータへのオフセットです。
  61.             (構造は後述しています)
  62.  
  63.     +14        タイトルデータへのオフセットです。
  64.             構造は タイトル内容+$0d+$0a+$1a+$00 です。
  65.  
  66.             ($1a はなくても構いません)
  67.  
  68.             複数行入れることも可能ですが、大抵の場合1行目が
  69.             タイトルとして扱われます。なるべく1行-80文字以下
  70.             程度でまとめて下さい。
  71.  
  72.     +18        OPM音色/マクロ定義部分へのオフセットです。
  73.             (構造は後述しています)
  74.  
  75.     +1c        ADPCMファイル名が入っています。
  76.             FILENAME,0
  77.  
  78.  
  79. ───────────────────────────────────────
  80.         シーケンス用データへのポインタの構造
  81. ───────────────────────────────────────
  82.  
  83.   オフセット計算の元になるベースアドレスは、このポインタの先頭アドレスです。
  84.  
  85.     ofst    size
  86.     +00    1.w    使用トラック数.w (例) $10 -> 16トラックを使用
  87.     +02    8.b    トラック情報
  88.         :        ×使用トラック数
  89.  
  90.     トラック情報
  91.     +00    1.l    トラックデータへのオフセット
  92.     +04    1.b    使用トラック番号
  93.     +05    1.b    初期使用チャンネル番号
  94.             $00~$07    OPM
  95.             $10~$1f    ADPCM
  96.             $80~$ff    MIDI
  97.     +06    1.w    拡張用予約
  98.  
  99.  
  100. ───────────────────────────────────────
  101.                MDCシーケンスコマンド
  102. ───────────────────────────────────────
  103.  
  104.     ※サイズの指定が無い場合、バイトサイズとします。
  105.  
  106.     ※[name]v は可変長データであることを表わします。
  107.  
  108.     ※オフセット値はコマンドの次のアドレスがベースアドレスです。
  109.  
  110.     ※一部未実装命令が存在します
  111.       (作者に催促しましょう ^^;)
  112.  
  113.         「・」・・・機能搭載済み    「※」・・・予定機能
  114.  
  115.  
  116.             =================================
  117.                     通常音符
  118.             =================================
  119.  
  120.     ・音符 ($00~$7F)
  121.             [NOTE] + [MODE] + [STEP]v + [GATE]v
  122.  
  123.         MODE =      0     ・・・    デフォルトの VELOCITY値を割り当てる
  124.               1~127 ・・・    VELOCITY値
  125.             128~255 ・・・    STEP (0~127)
  126.  
  127.         MODE が STEP 値を示すときは、後ろの STEP/GATE は省略され、
  128.         STEP=GATE になります。VELOCITY はデフォルトの値が割り当て
  129.         らてます。
  130.  
  131.  
  132.             =================================
  133.                     8n系
  134.             =================================
  135.     ・休符
  136.             [$80] + [STEP]v
  137.  
  138.     ・音符
  139.             [$81] + [NOTE] + [STEP]v
  140.  
  141.     ・タイ(スラー)
  142.             [$86]
  143.  
  144.     ・リピート開始
  145.             [$88] + [リピート回数] + [$00]
  146.  
  147.     ・リピート終端
  148.             [$89] + [開始コマンドへのオフセット]w
  149.  
  150.     ・リピート抜け出し
  151.             [$8A] + [終端コマンドへのオフセット]w
  152.  
  153.     ・リピート回数指定付抜け出し
  154.             [$8B] + [回数] + [飛び先へのオフセット]w
  155.  
  156.         指定回数でなければ、データをスキップします。
  157.  
  158.         スキップ長はリピート終端か、次のリピート抜け出しコマンド
  159.         等へのオフセットと考えてもらっても構いません。
  160.  
  161.         MDC フォーマットでは、下の様に1つのリピート開始には必ず
  162.         1つのリピート終端が存在していなければなりません。
  163.  
  164.         MML    [  cde /1 efg /2 fga /3 gab ]3
  165.             [~A~/~B~/~C~/~D~]
  166.  
  167.     ・OPMDRV系 [~] コマンド
  168.             [$8C] + [コマンド番号] ( + [DATA]? )
  169.  
  170.             番号    内容        データ
  171.  
  172.             0    [D.C.]        飛び先へのオフセット.w
  173.             1    [D.S.]        飛び先へのオフセット.w
  174.             2    [TOCODA][*]    飛び先へのオフセット.w
  175.             3    [SEGNO][$]    なし
  176.             4    [CODA]        なし
  177.             5    [FINE][^]    なし
  178.             6~    予約
  179.  
  180.         できる限りこのコマンドは使わないで下さい。
  181.         他フォーマットへの変換が困難になります。
  182.  
  183.     ・ジャンプ
  184.             [$8D] + [ジャンプ先へのオフセット]w
  185.  
  186.     ・小節終わり
  187.             [$8E]
  188.  
  189.     ・セームメジャー
  190.             [$8F] + [ジャンプ先へのオフセット]w
  191.  
  192.  
  193.             =================================
  194.                     9n系 (未定義)
  195.             =================================
  196.  
  197.             $90~$9F 予約
  198.  
  199.  
  200.             =================================
  201.                   An系 (全て2バイト)
  202.             =================================
  203.  
  204.     ・ベロシティ設定
  205.             [$A0] + [設定値]
  206.         設定値    $00~$7F    128段階指定
  207.             $80~$8F    16 段階指定
  208.  
  209.     ・相対ベロシティ設定
  210.             [$A1] + [相対値(-127~127)]
  211.  
  212.     ・ボリューム(エクスプレッション)設定
  213.             [$A2] + [設定値]
  214.         設定値    $00~$7F    128段階指定
  215.             $80~$8F    16 段階指定
  216.  
  217.     ・相対ボリューム(エクスプレッション)設定
  218.             [$A3] + [相対値(-127~127)]
  219.  
  220.     ・トラックボリューム設定
  221.             [$A4] + [設定値]
  222.         設定値    $00~$7F    128段階指定
  223.             $80~$8F    16 段階指定
  224.  
  225.     ・相対トラックボリューム設定
  226.             [$A5] + [相対値(-127~127)]
  227.  
  228.     ・パンポット設定
  229.             [$A6] + [設定値]
  230.         設定値    $00~$7F    128段階指定
  231.             $80~$8F    16 段階指定
  232.             $F0        出力オフ
  233.             $F1        左
  234.             $F2        右
  235.             $F3        真中
  236.  
  237.     ・相対パンポット設定
  238.             [$A7] + [相対値(-127~127)]
  239.  
  240.     ・トラック単位キートランスポーズ設定
  241.             [$A8] + [設定値(-127~127)]
  242.  
  243.     ※トラック単位相対キートランスポーズ設定
  244.             [$A9] + [相対値(-127~127)]
  245.  
  246.     ・ベンドレンジ設定
  247.             [$AA] + [設定値]
  248.         設定値    $01~$80 -> 1~128
  249.  
  250.     ※相対ベンドレンジ設定
  251.             [$AB] + [相対値(-128~127)]
  252.  
  253.     ・デチューン設定 (半音=64)
  254.             [$AC] + [設定値(-128~127)]
  255.  
  256.     ※相対デチューン設定 (半音=64)
  257.             [$AD] + [相対値(-128~127)]
  258.  
  259.     ・クオンタイズ設定
  260.             [$AE] + [設定値]
  261.         設定値    $00~$08    q
  262.         $FF~$80    @q1~@q128
  263.  
  264.     ※相対クオンタイズ設定
  265.             [$AF] + [相対値(-127~127)]
  266.  
  267.  
  268.             =================================
  269.                     Bn系
  270.             =================================
  271.  
  272.     ・チューン設定 (半音=64)
  273.             [$B0] + [設定値(-8192~8191)]w
  274.  
  275.     ※相対チューン設定 (半音=64)
  276.             [$B1] + [相対値(-16384~16383)]w
  277.  
  278.     ・ベンド設定
  279.             [$B2] + [設定値(-8192~8191)]w
  280.  
  281.     ※相対ベンド設定
  282.             [$B3] + [相対値(-16384~16383)]w
  283.  
  284.  
  285.     ・ポルタメント
  286.             [$B8] + [目的値(-8192~8191)]w + [STEP]v
  287.  
  288.     ※フルタイムポルタメント
  289.             [$B9] + [STEP]v
  290.  
  291.     ・モジュレーションコントロール
  292.             [$BA] + [初期値(0~127)] + [目的値(0~127)] + [STEP]v
  293.  
  294.     ・モジュレーションコントロールディレイ
  295.             [$BB] + [DLY]v
  296.  
  297.     ・モジュレーションコントロール動作設定
  298.             [$BC] + [設定値]
  299.  
  300.             設定値    $00~$7F モジュレーションを設定する
  301.                 $80     動作停止
  302.                 $81     動作開始
  303.  
  304.     ※トラックフェーダー
  305.             [$BE] + [振幅(-127~127)] + [STEP]v
  306.  
  307.  
  308.             =================================
  309.                 Cn系 (LFO)
  310.             =================================
  311.  
  312.     ・ピッチLFO波形設定
  313.             [$C0] + [波形番号]
  314.  
  315.             波形番号 $00 鋸波    ////
  316.                  $01 矩形波     ̄_ ̄_
  317.                  $02 三角波    /\/\
  318.                  $03 ランダム波    * noiz *
  319.                  $40 ユーザー登録波形
  320.                  $80 ピッチLFOオフ
  321.                  $81 ピッチLFOオン
  322.  
  323.     ・ピッチLFOスピード設定
  324.             [$C1] + [SPD]v
  325.  
  326.     ・ピッチLFO振幅設定
  327.             [$C2] + [振幅(-8192~8191)]w
  328.  
  329.     ※ピッチLFO相対振幅設定
  330.             [$C3] + [相対値(-16384~16383)]w
  331.  
  332.     ・ピッチLFOディレイ設定
  333.             [$C4] + [DLY]v
  334.  
  335.     ・音量LFO波形設定
  336.             [$C5] + [波形番号]
  337.  
  338.             波形番号 $00 鋸波    ////
  339.                  $01 矩形波     ̄_ ̄_
  340.                  $02 三角波    /\/\
  341.                  $03 ランダム波    * noiz *
  342.                  $40 ユーザー登録波形
  343.                  $80 音量LFOオフ
  344.                  $81 音量LFOオン
  345.  
  346.     ・音量LFOスピード設定
  347.             [$C6] + [SPD]v
  348.  
  349.     ・音量LFO振幅設定
  350.             [$C7] + [振幅(-127~127)]
  351.  
  352.     ※音量LFO相対振幅設定
  353.             [$C8] + [相対値(-127~127)]
  354.  
  355.     ・音量LFOディレイ設定
  356.             [$C9] + [DLY]v
  357.  
  358.     ※各種コントロール用LFO波形設定
  359.             [$CA] + [波形番号]
  360.  
  361.             波形番号 $00 鋸波    ////
  362.                  $01 矩形波     ̄_ ̄_
  363.                  $02 三角波    /\/\
  364.                  $03 ランダム波    * noiz *
  365.                  $40 ユーザー登録波形
  366.                  $80 各種コントロール用LFOオフ
  367.                  $81 各種コントロール用LFOオン
  368.  
  369.     ※各種コントロール用LFO波長変調設定
  370.             [$CB] + [波長]v
  371.  
  372.     ※各種コントロール用LFO振幅設定
  373.             [$CC] + [振幅(-127~127)]
  374.  
  375.     ※各種コントロール用LFO相対振幅設定
  376.             [$CD] + [相対値(-127~127)]
  377.  
  378.     ※各種コントロール用LFOディレイ設定
  379.             [$CE] + [DLY]v
  380.  
  381.     ※LFO拡張用 (予約)
  382.             [$CF] + [MODE] + [DATA] ・・・
  383.  
  384.  
  385.             =================================
  386.                 Dn系 (特殊処理)
  387.             =================================
  388.  
  389.             $D0~$DF 予約
  390.  
  391.  
  392.             =================================
  393.                 En系 (各種コントロール)
  394.             =================================
  395.  
  396.     ・プログラムチェンジ
  397.             [$E0] + [PROG]
  398.  
  399.             番号    $00~$7F    BANK0-PROGRAM0~127
  400.                 $80~$FF    BANK1-PROGRAM0~127
  401.  
  402.             以上のように扱います。
  403.  
  404.     ※バンク&プログラムチェンジ
  405.             [$E1] + [BANK] + [PROG]
  406.  
  407.     ・操作デバイス変更
  408.             [$E2] + [デバイス番号]
  409.             番号    $00~$07    OPM
  410.                 $10~$1F    ADPCM
  411.                 $80~$AF    MIDI
  412.  
  413.     ※条件設定
  414.             [$E3] + [AND] + [OR]
  415.  
  416.     ※条件付コマンド実行
  417.             [$E4] + [AND] + [条件] + [SIZE]v
  418.  
  419.     ・ADPCM再生周波数設定
  420.             [$E5] + [周波数番号]
  421.             番号    0:3.9KHz
  422.                 1:5.2KHz
  423.                 2:7.8KHz
  424.                 3:10.4KHz
  425.                 4:15.6KHz
  426.             以下は PCM8 などで使用可能
  427.                 5:16bit PCM    6:8bit PCM
  428.  
  429.     ・OPMホワイトノイズ設定 (OPMレジスタ$0f)
  430.             [$E6] + [設定値]
  431.  
  432.     ・OPMハードLFO設定
  433.             [$E7] + [WF/SYNC] + [SPD] + [PMD] + [AMD] + [PMS/AMS]
  434.  
  435.             WF    bit6    シンクロ ON/OFF
  436.  
  437.             WF    $80    HARD LFO OFF
  438.                 $81    HARD LFO ON
  439.             WF 以後のパラメーターは省略される
  440.  
  441.     ・OPMレジスタ設定
  442.             [$E8] + [レジスタ番号] + [データ]
  443.  
  444.     ※ポリフォニックキープレッシャ
  445.             [$EA] + [NOTE] + [プレッシャデータ]
  446.  
  447.     ※チャンネルキープレッシャ
  448.             [$EB] + [プレッシャデータ]
  449.  
  450.  
  451.     ・コントロールチェンジ
  452.             [$EC] + [コントロール番号] + [設定値]
  453.  
  454.     ・トラックバリエーション
  455.             [$EF] + [種類]
  456.  
  457.             種類    b0    0=ミュージックトラック
  458.                     1=ドラムトラック
  459.                 b6    1=ミュートトラック
  460.                 b7    使用禁止
  461.  
  462.  
  463.             =================================
  464.               Fn系 (システムコントロール)
  465.             =================================
  466.  
  467.     ・テンポ設定
  468.             [$F0] + [設定値]w
  469.  
  470.     ※テンポ相対設定
  471.             [$F1] + [相対値]w
  472.  
  473.     ※テンポ(割り込み間隔)設定
  474.             [$F2] + [設定値]v
  475.  
  476.     ※テンポ(割り込み間隔)相対設定
  477.             [$F3] + [相対値]l
  478.  
  479.     ・同期信号送信
  480.             [$F4] + [トラック番号]
  481.  
  482.     ・同期信号受信待機
  483.             [$F5]
  484.  
  485.     ・総合キートランスポーズ
  486.             [$F6] + [設定値(-127~127)]
  487.  
  488.     ※総合相対キートランスポーズ
  489.             [$F7] + [相対値(-127~127)]
  490.  
  491.     ・MIDIデータ送信
  492.             [$FA] + [SIZE]v + [DATA]*n
  493.  
  494.     ・コメント
  495.             [$FC] + [SIZE]v + [VAL] + [STR]*n + [$00]
  496.             VAL    $20    通常のコメント
  497.  
  498.     ・全トラックフェード処理
  499.             [$FD] + [STEP]v
  500.             STEP    フェード終了までのクロック
  501.  
  502.     ・データエンド/永久ループ
  503.             [$FE] + [ループポイントまでのオフセット]w
  504.             [$FE] + $00 + $00
  505.  
  506.     ・永久ループポイントマーク
  507.             [$FF]
  508.  
  509.         MCDRV ではなにも処理しません。アプリ専用のマークです。
  510.  
  511.  
  512. ───────────────────────────────────────
  513.             MDC-OPM音色定義
  514. ───────────────────────────────────────
  515.  
  516.   MCDRV の OPM 音色定義は 128 バンク 128 音色、合計 16384 音色を登録できるよう
  517. になっています。以下はその構造です。
  518.  
  519.     OPM音色/マクロ定義部
  520.         ofst
  521.         +00.l    総データサイズ
  522.         +04.w    総登録音色数
  523.         +06    データ
  524.             :
  525.  
  526.     データ内容
  527.         ofst
  528.         +00.w    この音色の総データサイズ (これ自身を含む)
  529.         +02.b    バンク番号 (0~127)
  530.         +03.b    音色番号 (0~127)
  531.         +04.b    FL&CON
  532.         +05.b    SLOT MASK
  533.         +06.l    DT1&MUL    ×4 (op 1~4)
  534.         +0a.l    TL         〃
  535.         +0e.l    KS&AR         〃
  536.         +12.l    AMS&D1R         〃
  537.         +16.l    DT2&D2R         〃
  538.         +1a.l    D1L&RR         〃
  539.         +1e.b    $00    音色名定義 (未使用)
  540.         +1f.b    $fe    マクロ定義 (未使用)
  541.  
  542.